package com.tan.kotlintest.base

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup

/*
 * Copyright (C) 2018 重庆一聊高科技有限公司
 * 版权所有
 *
 * 功能描述：Fragment基类 实现懒加载
 * 作者：txj
 * 创建时间：2018/9/15
 *
 * 修改人：
 * 修改描述：
 * 修改日期
 */
abstract class BaseFragment : LazyFragment() {

    var mContext: BaseActivity? = null

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        mContext = activity as BaseActivity?
        return LayoutInflater.from(context).inflate(initLayout(), container, false)
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        initView()
        mIsViewPrepared = true
    }

    /**
     * 初始化layout
     */
    protected abstract fun initLayout(): Int

    /**
     * 初始化view
     */
    protected abstract fun initView()

    /**
     * 第一次可见的操作
     */
    protected abstract fun onFirstVisible()

    override fun onFirstVisibleToUser() {
        onFirstVisible()
        mIsDataLoadCompleted = true
    }


}